专利摘要:
電力管理回路を備える回路のための高速シミュレーション方法を提供する。本発明の高速シミュレーション手法は、集積回路の電力供給モジュールの出力ノードを理想電力ノードとして指定し、電力供給モジュールをファンインブロックに指定し、電力ノードに接続された全ブロックをファンアウトブロックに指定する。集積回路のDCを初期化し、各時間ステップにて過渡的なシミュレーションを実施する間に、ファンアウトブロックの相互関係を決定し、各ファンアウトブロックのセンシティビティモデルを計算する。電力ノードは理想電力ノードとして指定されるため、各ファンアウトブロックのセンシティビティモデルの結果を電力ノードの総負荷に非同期的に追加できる。総負荷をファンインブロックのために計算された行列にロードし、シミュレーション波形ポイントを出力する。
公开号:JP2011509457A
申请号:JP2010540959
申请日:2009-09-01
公开日:2011-03-24
发明作者:タラセビッチ、アンドレイ・ワイ;チュイ、マイケル・ゼット;ドン、ヘ
申请人:シノプシイス インコーポレイテッド;
IPC主号:G06F17-50
专利说明:

[0001] 本発明は、集積回路(IC)のシミュレーションに関し、具体的には、電力管理回路を備えるICのための高速シミュレーション方法を提供する。]
背景技術

[0002] IC技術が90nm以下まで縮小したことにより、総電力消費量はシステムオンチップのチップ設計における最も重要な関心事の1つになっている。待機時漏れ電流及び動的消費電力を減少させるためにパワーゲーティング、電圧スケーリング、及び閾値可変CMOSなどの周知技術が利用されてきた。しかし後述するように、これらの技術は、シミュレーションのために必要な節点解析方程式の集合から構成される行列のサイズが極めて大きいため、プリレイアウト及びポストレイアウト・フルチップ検証の両者に対する重要な課題をもたらしている。]
[0003] システムオンチップ(SoC)設計は、通常、少なくとも1つの出力ノードを有する少なくとも1つの電力供給モジュールを含み、該少なくとも1つの出力ノードは、他のモジュールへの電圧供給ノードとしての役割を果たす。例示的な電力供給モジュールは、電荷ポンプ、レギュレータ、電源スイッチ、及び/又はトランジスタを含み、前記設計において1つ或いは複数の電力供給部が備えられるようにする。]
[0004] SPICEは、カリフォルニア大学バークレイ校(University of California at Berkeley)で開発された周知の汎用回路シミュレーションプログラムである。SPICEは、例えば、抵抗、コンデンサ、インダクタ、電圧源、電流源、伝送線路、及び一般的な半導体デバイスなどを備える回路をシミュレートすることができる。高速SPICEシミュレータは、従来のSPICEシミュレータの性能を改善するために、様々なアルゴリズムを使用している。]
[0005] 性能を改善するための或る例示的なアルゴリズムには、1つの回路を、理想電圧源ノードと弱結合ノード(例えば、MOSFETデバイスのゲート)との境界において、より小さいブロックに分割するパーティショニングが含まれる。例えば、図1Aに示すように、従来の高速SPICEシミュレータは、回路100を2つのブロック110及び111に分割する。なぜならば、2つのブロック110及び111は両者とも理想電圧源に直接接続されているからである。限定された数の例示的な回路素子(例えば、トランジスタ及び抵抗)のみが図1Aに示されているが、実際の回路には通常は様々な他の回路素子が含まれていることを留意されたい。] 図1A
[0006] 特に、高速SPICEシミュレータを使用する場合、ブロック110及び111は、シミュレーション中のそれらの待ち時間に従って様々な速度でシミュレートすることができる。結果として、高速SPICEシミュレータは、許容可能な精度の低下はあるものの、10倍〜1000倍の速度増加をもたらし得る。しかし、高速SPICEシミュレータは、電力供給モジュールの出力ノード(図1Aでは、電力供給モジュール101の電力ノード102)が非理想ノードであり、従って大きなフラットなパーティション上でシミュレータを作動させなければならないため、通常はSoC回路にとって効率が悪い。特に、高速SPICEシミュレータは、ブロック111内の回路を同期的にシミュレートしなければならない。] 図1A
[0007] 一部の進歩的なシミュレータ(例えば、HSIM)は、大きなブロックを第2レベルのブロックに更に分割でき、従って同型マッチング(isomorphic matching)を活用することができる。例えば、図1Bに示すように(簡略化のために小さなブロック110(図1A)は省略している)、HSIMシミュレータは、回路100を電力ノード102においてカットし且つ分割し、複数のチャネル接続ブロック(CCB)101、103、104、及び105を形成する。シミュレーションツールは、一般的にトランジスタレベルにおいてCCBを画定することを留意されたい。これらのCCBは、比較的単純な回路である(発明者が示す回路は説明のためであり、図示の回路に制限するわけではない)。] 図1A 図1B
[0008] 電力供給モジュール101の出力ノード、即ち電力ノード102は、非理想電圧供給源であるため、CCB101、103、104、及び105は、電力ノード102の正確なシミュレーションを提供するために同時に(即ち、同期的に)評価しなければならない。そのサイズのために、CCB105は、HSIMシミュレータによって更に分割することができる。この例では、CCB105は、CCB106、107、及び108に更に分割することができる。様々なシミュレーションツールは、様々な方法で、カットグループ(cut group)の要素(即ち、分割することによって形成されたブロック)を決定することを留意されたい。例えば、一実施形態では、シミュレーションツールは、カットする位置に接続されるCCBの数に基づいてカットグループを決定し得る。]
[0009] 特に、CCB106、107、及び108は、再度、同期的に評価されなければならない、即ち、これらのCCBはフラットなパーティションも形成している。従って、CCB101、103、104、及び105は、第1レベルのカットグループとして特徴付けることができ、CCB106、107、及び108は、第2レベルのカットグループとして特徴付けることができる。CCB105からの評価結果は、CCB103、104、及び105の同期的な評価において使用することができることを留意されたい。従って、この階層的パーティショニングにも関わらず、HSIMシミュレータは、非理想電力供給モジュールを有する大規模(例えば、SoC)回路をシミュレートするとき、通常は、最適ではない、即ち比較的時間がかかるという結果になる。]
発明が解決しようとする課題

[0010] 従って、電力管理回路を備える回路のための高速シミュレーション方法が必要とされている。]
課題を解決するための手段

[0011] 高速シミュレーション方法によれば、集積回路の電力供給モジュールの出力ノード(即ち、非理想電力ノード)を、理想電力ノードとして指定することができる。前記回路は、ブロックに分割することができる。この場合、電力供給モジュールはファンインブロック(fan-in block)として指定することができ、前記電力ノードに接続された全てのブロックはファンアウトブロック(fan-out block)として指定することができる。この時点で、DC初期化を実施することができる。]
[0012] 次に、各時間ステップにおいて過渡的なシミュレーションを実施することができる。例えば、過渡的なシミュレーションの初期工程では、ファンアウトブロックの相互関係を決定することができる。一実施形態では、この相互関係は、各ファンアウトブロックのシミュレーション間隔及び外部トリガイベントを特定することを含み得る。]
[0013] 或る時間ステップにおいて、或るファンアウトブロックの評価を行う場合、そのファンアウトブロックのセンシティビティモデルを計算することができる。このセンシティビティモデルは、そのファンアウトブロックのコンダクタンス、静電容量、及び電流負荷を含み得る。有利なことに、前記電力ノードが理想電力ノードとして指定されるために、各ファンアウトブロックのセンシティビティモデルの結果を、前記電力ノードの総負荷に非同期的に追加することができる。一実施形態では、直前のシミュレーション中に計算された直前の負荷値から現在の負荷値を減算し、その差異を、そのブロックの総負荷(即ち、コンダクタンス、静電容量、及び電流負荷)に追加することによって寄与度を計算することができる。]
[0014] ファンアウトブロックを非同期的に評価することができるので、シミュレータは、その評価を、(任意の数のファンアウトブロックに対して)並行して、任意の順序で、及び/又はシステムリソースが利用可能なときはいつでも(制限されたシステムリソースであっても)実施できるのが好都合である。従って、そのファンアウトブロックを非同期的に評価する能力は、かなりの時間節約及びシステムリソースの最適な利用をもたらすので、それによってシステムの効率及び柔軟性が最大限になる。]
[0015] 一実施形態では、非同期的に追加する結果には、グローバルデータ構造を用いて総負荷を追跡記録することが含まれる。一実施形態では、総負荷を追跡記録することには、非作動ファンアウトブロックを無視することが含まれる。追跡記録後、前記総負荷は各ファンインブロック毎に計算された行列(例えば、ヤコビ行列)にロードすることができ、またシミュレーション波形ポイントを出力することができる。前述の過渡的なシミュレーションの工程は、各指定された時間ステップにおいて実施することができる。]
[0016] コンピュータ可読媒体も本願明細書中で説明される。このコンピュータ可読媒体は、コンピュータ上で実行されたとき、集積回路をシミュレートするべく前述の工程を実行させる信号を生成するコンピュータ命令を保存している。]
図面の簡単な説明

[0017] 通常のシミュレータが理想電力ノードに接続された回路のブロックをどのように評価するかを示す図である。この場合、各ブロック内の回路は同期的に評価しなければならない。
非理想電力ノード及び弱結合ノードにおいて回路をカットし、それによって同期した評価を依然として必要とする階層的パーティションをもたらす通常の回路のパーティショニングを示す図である。
非理想電力ノードを理想電力ノードとして指定することができ、それによって該電力ノードに接続された全てのファンアウトブロックを非同期的に評価できる例示的なパーティショニングを示す図である。
複数の非理想電力ノードを理想電力ノードとして指定することができ、それによって該電力ノードに接続された全てのファンアウトブロックを非同期的に評価できる別の例示的なパーティショニングを示す図である。
CCBの負荷効果を考慮してセンシティビティモデルを生成するCCBの例示的な評価を示す図である。このセンシティビティモデルには、コンダクタンス、静電容量、及び電流が含まれる。
電力供給モジュールの出力ノード(即ち、非理想電力ノード)を理想電力ノードとして指定し、それによって該電力ノードに接続された全てのファンアウトブロックの非同期的な評価を可能にする例示的なシミュレーション技術を示す図である。
例示的なマルチレート、イベント駆動型の方法を示す図である。
図4のシミュレーション技術を含むことができる例示的なデジタルASIC設計フローを示す図である。] 図4
実施例

[0018] 高速シミュレーション手法では、集積回路の電力供給モジュールの出力ノードを理想電力ノードとして指定することができる。この時点で、電力供給モジュールをファンインブロックに指定することができ、電力ノードに接続されている全てのブロックをファンアウトブロックに指定することができる。詳細は後述するが、非理想電力ノードが理想電力ノードとして指定されるため、ファンアウトブロックを非同期的に評価することができ、それによってシミュレーション中の時間節約及びシステム柔軟性を最大限にする。]
[0019] 図2Aは、高速シミュレーション方法の態様を表す簡略化回路200を示す。シミュレーション中に、回路200をブロック201、203、204、及び205に分割することができる。具体的には、回路200は、電力供給モジュール201からカットされる複数のチャネル接続ブロック(CCB)203、204、及び205に分割することができる。電力供給モジュール201の出力(電源)ノード202は、実際には非理想電力ノードであることを留意されたい。しかし、前述の高速シミュレーション方法の一態様によれば、電力ノード202は、非理想電力ノードの代わりに、理想電力ノードとして指定することもできる。結果として、CCB203、204、及び205は、シミュレーション中に非同期的に評価できるのが好都合である。] 図2A
[0020] 典型的なIC回路では、電力ノードに接続されるCCBの数は、数百或いは数千に達することを留意されたい。CCBを非同期的に評価することができるので、シミュレータは、その評価を、(任意の数のCCBに対して)並行して、任意の順序で、及び/又はシステムリソースが利用可能なときはいつでも(制限されたシステムリソースであっても)実施できるのが好都合である。従って、そのCCBを非同期的に評価する能力により、かなりの時間節約及びシステムリソースの最適な利用をもたらすことができ、それによってシステムの効率及び柔軟性が最大限になる。]
[0021] シミュレータによってカットグループを特徴付けることができるCCB205は、CCB206,207、及び208に更に分割することができることを留意されたい。一実施形態では、CCB206、207、及び208は、階層的な解法を用いて同期的にシミュレートすることができる。別の実施形態では、図2Bに示すように、CCB207及び208は、ノード209を理想電力ノードとして指定することによって(またCCB206を電源モジュールとして特徴付ける)、非同期的にシミュレートすることができ、それによって更なるシステムの効率化をもたらす。ファンアウトブロックにおいて同期/非同期シミュレーションのどちらを実施するかの決定は、ファンアウトブロックのサイズに基づいて決定され得る。このサイズは、様々なシミュレーションからの実験結果を用いて設定することができ、その後に、費用関数に基づいて適切な大きさの閾値を決定する。回路200には2つの指定された理想ノード202及び209が備えられているが、他の回路では任意の数の指定された理想ノードを含み得ることを留意されたい。更に、非理想ノードを理想ノードに指定することは、再帰的方法で任意の様々なレベルにおいて行うことができる。] 図2B
[0022] いずれにせよ、シミュレーション分野の当業者には周知のように、CCB206、207、及び208の評価は、CCB205の評価実施前に要求される。図3は、センシティビティモデル301(ノートンの等価回路)を生成することができるCCB300の例示的な評価を示す。この場合、センシティビティモデル301は、コンダクタンスG(抵抗の逆数)、静電容量C、及び電流Iを含む。] 図3
[0023] 図4は、非理想電力ノードを理想電力ノードとして指定することを含む例示的な高速シミュレーション方法400を示す。ステップ401では、回路の設計にアクセスすることができる。典型的な実施形態では、この設計は、ネットリストとしてアクセスすることができる。ネットリストは、従来の回路図入力システムを用いて作成することができ、高速SPICEで用いられている構文形式と同一の構文形式に従うことがあることを留意されたい。] 図4
[0024] この時点で、前記設計内の電力供給モジュールの出力ノード(即ち、電力ノード)を、理想電力ノードとして指定する。次に、ステップ402では、IC回路をブロックに分割する。ただし、電力供給モジュールを、その電力ノードのドライバ(即ち、ファンインブロック)として指定し、他のブロックを、その電力ノードの負荷(即ち、ファンアウトブロック又はCCB)として指定する。ステップ403では、開始時間t=0においてIC回路の動的電圧状態を得るためにDCを初期化する。]
[0025] ステップ404では、例えば、ブロックのシミュレーション間隔を調査することによって(マルチレートと呼ばれる)、又はブロックがイベント駆動型か否かによって、ファンアウトブロックの相互関係を決定する。図5は、ファンインブロック501及びファンアウトブロック502〜504を含む例示的なマルチレートのイベント駆動型システム500を示す。システム500では、全てのブロック501〜504が初期時間T0(黒丸で示す)において評価(即ちシミュレート)される。続いて、ブロック501〜504は、異なる間隔で評価される。即ち、ブロック501は、時間T2及びT4で評価され、ブロック502は、時間T1及びT2で評価され、ブロック503は、時間T2及びT3で評価され、ブロック504は、時間T3で評価される。] 図5
[0026] 各ブロック501〜504のシミュレーション間隔は、ブロックの内部待ち時間又は外部トリガイベントのどちらかに関連するものとして特徴付けることができる複数の因子によって決定される。ブロックの内部待ち時間には、電圧変化の割合、各ノードの静電容量に対する充電電流の大きさなどの因子が含まれる。ブロックの内部待ち時間は、1つのステップにおいて電圧又は電流が急激に変化することがないように検討される。]
[0027] 図5は、3つの外部トリガイベント510、511、及び512を有するシステム500を示す。従来型のシミュレータでは、イベントは、ファンアウトブロックのシミュレーションをトリガするためにファンインブロックによって生成されることを留意されたい。或る好適実施形態によれば、イベントはファンアウトブロックで生成することができる。例えば、システム500では、ブロック502は、ブロック503のシミュレーションをトリガするイベント510を生成し、ブロック503は、ブロック504のシミュレーションをトリガするイベント511を生成し、ブロック504は、ブロック501のシミュレーションをトリガするイベント512を生成する。或るイベントは、ブロックの物理的な接続により得られることを留意されたい。例えば、再び図2Aを参照すると、CCB203はCCB204へ出力を提供する。従って、CCB203は、CCB204のシミュレーションをトリガするイベントを生成するものとして特徴付けることができる(ブロック502及び503と同様である)。] 図2A 図5
[0028] 再び図4を参照して、ステップ405では、各ファンアウトブロックのセンシティビティモデルを計算する。一実施形態では、このセンシティビティモデルは、そのファンアウトブロックの電力ノードにおけるコンダクタンスG、静電容量C、及び電流Iを計算することを含み得る。或る好適実施形態では、階層的な解法を各カットグループのセンシティビティモデルを計算するために使用することができ、従来型の解法を他のファンアウトブロックに対して使用することができる。一実施形態では、有利なことに、複数のファンアウトブロックが同じ形態を有し且つ同一の端子電圧及び電流を有している場合、最初に計算されたファンアウトブロックの結果を他のファンアウトブロックが再利用することができるため、1つのファンアウトブロックのみが計算される(この再利用は同型マッチングとも呼ばれる)。例示的な階層的な解法及び同型マッチングのより詳細な説明は、1999年5月17日付で登録されたTcherniaevによる米国特許第6,577,992号に記載されており、ここで参照することをもって本願明細書に組み込まれるものとする。] 図4
[0029] ステップ406では、電力供給モジュールに関連する電力ノードの総負荷に全てのファンアウトブロックの総負荷を追加することができる。これらの総負荷には、ステップ405で計算された電流I、コンダクタンスG、及び静電容量Cが含まれる。図5に示すように、各ファンアウトブロックは、それぞれ固有のシミュレーション間隔を有していることを留意されたい。一実施形態では、或るファンアウトブロックの総負荷が計算されたとき、その計算結果が直前のシミュレーション間隔の結果と比較される、即ち、ΔI=I−Ilast、ΔG=G−Glast、ΔC=C−Clastである。これらのデルタ値は、次に、指定された理想電力ノードの総負荷に追加される。最初に実施されたシミュレーション(例えば、図5の時間ステップT0において実施されたシミュレーション)は比較するものがないため、それらのブロックの総負荷は、ステップ405で計算された電流、コンダクタンス、及び静電容量を含む。] 図5
[0030] 一実施形態では、電力ノード(例えば、図2A/2Bの電力ノード202)の総負荷は、グローバルデータ構造によって追跡記録することができる。非同期的な評価であるため、各ファンアウトブロックから結果が得られたときに(即ち、インクリメンタルな方法で)、それらをグローバルデータ構造に追加することができることを留意されたい。従って、グローバルデータ構造は、全てのファンアウトブロックからの全ての結果を追跡記録することができる。一実施形態では、追跡記録の間、特定の時間ステップにおいて或るファンアウトブロックが作動していない場合、そのファンアウトブロックを無視することができる。換言すれば、グローバルデータ構造は、全てのファンアウトブロックからの全ての結果を追跡記録することができる。] 図2A
[0031] ステップ407では、総負荷を評価する場合、その総負荷をファンインブロック(例えば、図2A/2Bの電力供給モジュール201)の行列にロードする。電流を計算するための例示的なヤコビ行列は以下のとおりである。] 図2A
[0032] [I]=[G]×[V]]
[0033] ただし、[G]はコンダクタンスの行列であり、[V]は電圧の行列であり、[I]は電流の行列である。この計算は、シミュレーション分野の当業者には周知であり、従って本明細書ではその詳細について説明しない。一般的に、この方程式は、非線形解法に対する線形化を提供することができる。ステップ408では、シミュレーション波形ポイントを生成する。]
[0034] 或る波形は、複数の別個のポイントを含み、各ポイント(本明細書中ではシミュレーション波形ポイントと呼ばれる)は、過渡的なシミュレーション中の各時間ステップにおいて計算されることを留意されたい。高速シミュレーション方法400では、ステップ404〜408は、IC回路の過渡的なシミュレーションを提供する。従って、ステップ409では、シミュレーションのための追加の時間ステップが指定されているか否かを判断する(総シミュレーション時間、即ち、時間ステップの数が入力ファイルにおいて特定されることはシミュレーション分野の当業者には周知であることを留意されたい)。追加の時間ステップが指定されている場合、方法400はステップ404に戻る。追加の時間ステップが指定されていない場合、方法400を終了する。]
[0035] 図6は、例示的なデジタルASIC設計フローを簡略化して説明するための図である。上側の段において、プロセスは製品企画(ステップ600)より開始し、EDAソフトウェア設計プロセスを実行する(ステップ610)。設計が終了すると、テープアウトを行う(イベント640)。テープアウト後、製造プロセス(ステップ650)、パッケージング及び組立プロセス(ステップ660)を実施し、最終的に、完成品チップが得られる(結果670)。] 図6
[0036] EDAソフトウェア設計プロセス(ステップ610)は、実際には複数のステップ612〜630から構成されており、簡略化のために直線的に示している。実際のASIC設計プロセスでは、特定の設計は、所定の試験に合格するまでステップを逆戻りしなければならないこともある。同様に、実際の設計プロセスでは、これらのステップは、異なる順序及び組み合わせで行われることがある。従って、この説明は、特定のASICのための具体的な或いは推奨する設計フローとしてよりも、むしろ背景説明(context)及び一般的な説明のために提供される。]
[0037] ここで、EDAソフトウェア設計プロセス(ステップ610)を構成するステップを簡単に説明する。]
[0038] システム設計(ステップ612):設計者は、実装したい機能性を記述し、what−ifプランニングを実施して機能性改良や費用確認など行うことができる。ハードウェア−ソフトウェア・アーキテクチャ・パーティショニングは、このステップで行うことができる。このステップで使用することができるシノプシス社(Synopsys, Inc.)製の例示的なEDAソフトウェア製品には、Model Architect、Saber、System Studio、及びDesignWare(登録商標)などの製品が含まれる。]
[0039] 論理設計及び機能性の検証(ステップ614):このステップでは、システム内のモジュールのためのVHDLまたはVerilogコードを書き込み、その設計を機能性の精度について検査する。より具体的には、設計を検査することによって、正しい出力を生成することを保証する。このステップで使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、VCS、VERA、DesignWare(登録商標)、Magellan、Formality、ESP、及びLEDAなどの製品が含まれる。]
[0040] 合成及び試験のための設計(ステップ616):このステップでは、VHDL/Verilogをネットリストに変換する。ネットリストは、目的の技術のために最適化することができる。加えて、完成品チップの検査を可能とする試験の設計及び実装を行う。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Design Compiler(登録商標)、Power Compiler、Tetramax、及びDesignWare(登録商標)などの製品が含まれる。]
[0041] ネットリスト検証(ステップ618):このステップでは、ネットリストを、タイミング制約との適合性及びVHDL/Verilogソースコードとの対応性について検査する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Formality、PrimeTime、VCS、及びHSIM+などの製品が含まれる。一実施形態では、HSIM+製品は、前述の高速シミュレーション方法400(図4)を含み得る。一実施形態では、シミュレーションは、図2Aを参照して説明したようなパーティショニング及び非同期的なシミュレーションを含み得る。] 図2A 図4
[0042] 設計プランニング(ステップ620):このステップでは、チップの全体フロアプランを作成し、タイミング及び最上位ルーティングについて解析する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Astro及びIC Compilerなどの製品が含まれる。]
[0043] 物理的な実装(ステップ622):このステップでは、配置(回路素子の位置決め)及びルーティング(回路素子の接続)を行う。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Astro及びIC Compilerなどの製品が含まれる。]
[0044] 解析及び抽出(ステップ624):このステップでは、回路機能をトランジスタレベルで検証し、これによりwhat−if解析による改良を可能にする。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、AstroRail、PrimeRaile、PrimeTime、及びStar RC/XTなどの製品が含まれる。]
[0045] 物理的な検証(ステップ626):このステップでは、様々なチェック機能を実行し、製造、電気的な結果、リソグラフィックの結果、及び回路構成について正確性を保証する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Hercules及びHSIM+などの製品が含まれる。一実施形態では、HSIM+は、前述の高速シミュレーション方法400(図4)を含み得る。典型的には、物理的な検証中に実施されるポストレイアウトシミュレーションは、図2Bを参照して説明したようなパーティショニング及び非同期的なシミュレーションを含み得る。] 図2B 図4
[0046] 分解能向上(ステップ628):このステップでは、レイアウトの幾何学的操作を行い、設計の製造可能性を改善する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Proteus、ProteusAF、及びPSMGenなどの製品が含まれる。]
[0047] マスクデータ準備(ステップ630):このステップでは、完成品チップを作成するのに使用するリソグラフのために、マスク作成用の「テープアウト」データを提供する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、CATS(登録商標)シリーズの製品が含まれる。]
[0048] 本発明の例示的な実施形態について、本明細書では添付の図面を参照しながら詳細に説明してきたが、本発明はこれらの正確な実施形態に限定されるわけではないことを理解されたい。これらの実施形態は、本発明を包括する或いは本発明をこれらと一致するものに制限することを意図しない。そのため、様々な変更及び変形ができることは明らかであろう。]
[0049] 例えば、前述の高速シミュレーション技術は、1つのデータ保存システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、且つそれらに対してデータ及び命令を送信するように接続された少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行する1つ或いは複数のコンピュータプログラムに有利に実装することができる。各コンピュータプログラムは、高次手続き型又はオブジェクト指向型プログラミング言語で、或いは所望に応じてアセンブリ言語又は機械語で実装することができる。いずれにせよ、その言語はコンパイラ型又はインタープリタ型言語である。適切なプロセッサには、例えば、汎用マイクロプロセッサ及び特定用途向けマイクロプロセッサの両者のほか、他の種類のマイクロコントローラが含まれる。一般的に、プロセッサは、読み出し専用メモリ及び/又はランダムアクセスメモリから命令及びデータを受信する。一般的に、コンピュータは、データファイルの保存用として1つ或いは複数の大容量記憶装置を有しており、その大容量記憶装置には、磁気ディスク(例えば、内蔵されたハードディスク及びリムーバブルディスク)、光磁気ディスク、及び光ディスクが含まれる。コンピュータプログラム命令及びデータを具体的に実施するのに適合する記憶装置には、全ての形態の不揮発性メモリ(例えば、EPROM、EEPROMなどの半導体メモリ装置、及びフラッシュメモリ装置)、磁気ディスク(例えば、内蔵されたハードディスク及びリムーバブルディスク)、光磁気ディスク、及びCD−ROMディスクが含まれる。前述したいずれのものも、特定用途向け集積回路(ASIC)により補足することができる又はそれに組み込むことができる。]
[0050] 従って、本発明の範囲は、特許請求の範囲に記載のもの及びそれらの同等物によって定義されるものとする。]
权利要求:

請求項1
高速シミュレーション方法であって、回路のネットリストにアクセスする工程と、前記回路の電力供給モジュールの出力ノードを電力ノードとして識別する工程と、前記電力ノードを理想電力ノードに指定する工程と、前記回路を複数のブロックに分割し、前記電力供給モジュールをファンインブロックに指定し、前記電力ノードに接続された全てのブロックをファンアウトブロックに指定する工程と、前記回路のDCの初期化を実施する工程とを有し、各指定された時間ステップ毎に、前記ファンアウトブロックの相互関係を決定する工程と、前記各ファンアウトブロックのセンシティビティモデルを計算する工程と、前記各ファンアウトブロックの前記センシティビティモデルの結果を前記電力ノードの総負荷に非同期的に追加する工程と、前記総負荷を前記ファンインブロックのために計算された行列にロードする工程と、シミュレーション波形ポイントを出力する工程とを含むことを特徴とする方法。
請求項2
前記結果を非同期的に追加する工程は、前記総負荷をグローバルデータ構造を用いて追跡記録する工程を含むことを特徴とする請求項1に記載の方法。
請求項3
前記総負荷を追跡記録する工程は、非作動ファンアウトブロックを無視することを含むことを特徴とする請求項2に記載の方法。
請求項4
前記行列は、ヤコビ行列であることを特徴とする請求項1に記載の方法。
請求項5
前記各ファンアウトブロック内の回路は、同期的にシミュレートされることを特徴とする請求項1に記載の方法。
請求項6
少なくとも1つのファンアウトブロックを分割する工程と、前記分割されたファンアウトブロックにおいて別の理想ノードを指定する工程と、前記別の理想ノードより給電される回路を非同期的にシミュレートする工程とを更に含むことを特徴とする請求項1に記載の方法。
請求項7
コンピュータで実行されたときに集積回路をシミュレートするための工程を実施させるべく信号を生成するコンピュータ命令が保存されたコンピュータ可読媒体であって、前記集積回路をシミュレートするための工程が、回路のネットリストにアクセスする工程と、前記回路の電力供給モジュールの出力ノードを電力ノードとして識別する工程と、前記電力ノードを理想電力ノードに指定する工程と、前記回路を複数のブロックに分割し、前記電力供給モジュールをファンインブロックに指定し、前記電力ノードに接続された全てのブロックをファンアウトブロックに指定する工程と、前記回路のDCの初期化を実施する工程とを有し、各指定された時間ステップ毎に、前記ファンアウトブロックの相互関係を決定する工程と、前記各ファンアウトブロックのセンシティビティモデルを計算する工程と、前記各ファンアウトブロックの前記センシティビティモデルの結果を前記電力ノードの総負荷に非同期的に追加する工程と、前記総負荷を前記ファンインブロックのために計算された行列にロードする工程と、シミュレーション波形ポイントを出力する工程とを含むことを特徴とするコンピュータ可読媒体。
請求項8
前記結果を非同期的に追加する工程は、前記総負荷をグローバルデータ構造を用いて追跡記録する工程を含むことを特徴とする請求項7に記載のコンピュータ可読媒体。
請求項9
前記総負荷を追跡記録する工程は、或るファンアウトブロックを無視することを含むことを特徴とする請求項8に記載のコンピュータ可読媒体。
請求項10
前記行列は、ヤコビ行列であることを特徴とする請求項7に記載のコンピュータ可読媒体。
請求項11
前記各ファンアウトブロック内の回路は、同期的にシミュレートされることを特徴とする請求項7に記載のコンピュータ可読媒体。
請求項12
少なくとも1つのファンアウトブロックを分割する工程と、前記分割されたファンアウトブロックにおいて別の理想ノードを指定する工程と、前記別の理想ノードより給電される回路を非同期的にシミュレートする工程とを更に含むことを特徴とする請求項7に記載のコンピュータ可読媒体。
类似技术:
公开号 | 公开日 | 专利标题
US8781808B2|2014-07-15|Prediction-based distributed parallel simulation method
Mishra et al.2011|Processor description languages
US6763505B2|2004-07-13|Apparatus and method for automated use of phase abstraction for enhanced verification of circuit designs
US8108194B2|2012-01-31|Peak power detection in digital designs using emulation systems
US7155690B2|2006-12-26|Method for co-verifying hardware and software for a semiconductor device
US8181145B2|2012-05-15|Method and apparatus for generating a floorplan using a reduced netlist
US8453102B1|2013-05-28|Hierarchical variation analysis of integrated circuits
US8121825B2|2012-02-21|Method and apparatus for executing a hardware simulation and verification solution
Cheng et al.2007|Non-linear statistical static timing analysis for non-Gaussian variation sources
Davis et al.2002|A design environment for high-throughput low-power dedicated signal processing systems
US7941774B2|2011-05-10|Partial timing modeling for gate level simulation
US7134100B2|2006-11-07|Method and apparatus for efficient register-transfer level | power estimation
US7472361B2|2008-12-30|System and method for generating a plurality of models at different levels of abstraction from a single master model
Lebreton et al.2008|Power modeling in SystemC at transaction level, application to a DVFS architecture
US8321824B2|2012-11-27|Multiple-power-domain static timing analysis
Salman et al.2007|Exploiting setup–hold-time interdependence in static timing analysis
TWI479349B|2015-04-01|模擬積體電路以及電腦可讀取媒體之方法
US8548788B2|2013-10-01|Technology computer-aided design |-based virtual fabrication
US20070277144A1|2007-11-29|Conversion of circuit description to an abstract model of the circuit
Mishchenko et al.2006|Improvements to combinational equivalence checking
US7434183B2|2008-10-07|Method and system for validating a hierarchical simulation database
US20020040288A1|2002-04-04|Method for design validation of complex IC
Chen et al.2001|A new gate delay model for simultaneous switching and its applications
US6748573B2|2004-06-08|Apparatus and method for removing effects of phase abstraction from a phase abstracted trace
Beltrame et al.2007|Multi-accuracy power and performance transaction-level modeling
同族专利:
公开号 | 公开日
CN101802785A|2010-08-11|
KR101602504B1|2016-03-21|
CN201837997U|2011-05-18|
EP2342637B1|2018-10-24|
US8868395B2|2014-10-21|
US20100106476A1|2010-04-29|
EP2342637A1|2011-07-13|
EP2342637A4|2013-04-10|
CN101802785B|2014-12-10|
WO2010062432A1|2010-06-03|
JP5031105B2|2012-09-19|
KR20110076712A|2011-07-06|
TW201017457A|2010-05-01|
TWI496018B|2015-08-11|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2011-10-19| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111018 |
2011-12-09| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111208 |
2011-12-16| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20111215 |
2012-02-18| RD02| Notification of acceptance of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20120217 |
2012-02-18| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120217 |
2012-05-29| TRDD| Decision of grant or rejection written|
2012-06-06| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120605 |
2012-06-07| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 |
2012-07-05| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120626 |
2012-07-06| R150| Certificate of patent or registration of utility model|Ref document number: 5031105 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2012-07-09| FPAY| Renewal fee payment (event date is renewal date of database)|Free format text: PAYMENT UNTIL: 20150706 Year of fee payment: 3 |
2015-07-07| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2016-07-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-07-04| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-07-03| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-07-02| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-07-02| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2021-07-02| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]